home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / Miscellaneous Disk Images / Apple II Getting down to Basic / WORDS.bas < prev    next >
Encoding:
BASIC Source File  |  1983-11-14  |  5.8 KB  |  65 lines

  1. 0  ONERR  GOTO 631
  2. 1  LET IN$ = "X":TT = 0:BT = 24:M = 0: GOSUB 201: GOSUB 301: HOME :F$ = "WORDS.TEXT": GOSUB 601: GOSUB 231: GOSUB 151: GOSUB 231: GOSUB 151: GOSUB 231: GOSUB 151: POKE 32,0: VTAB 18: HTAB 1: PRINT  CHR$(93);: POKE 32,L:TT = 15:BT = 24: GOSUB 301: VTAB 18: SPEED= 10:SN = 1: GOSUB 421: SPEED= 255:M = 3: VTAB 20: HTAB 18: PRINT "(You press RETURN)";: GOSUB 151: VTAB 20: HTAB 5: CALL  -868:SN = 2: GOSUB 421:TT = 0:BT = 15: VTAB BT:M = 0
  3. 11  GOSUB 231: GOSUB 151:TT = 15:BT = 24: GOSUB 291:TT = 0: GOSUB 231
  4. 21 ET = 1
  5. 31 TT = 12:BT = 24: GOSUB 291: GOSUB 301: VTAB 13: GOSUB 341:W = 38:B = 10:T = 3:L = 1:X = 1: GOSUB 451: IF E = 1  THEN  GOSUB 311: PRINT "Please type PRINT and something": PRINT "inside quotations.": PRINT "Always remember to press RETURN.": GOTO 31
  6. 41 BS = X: GOSUB 491: ON E = 1 GOTO 31
  7. 51  GOSUB 451: IF E = 1  THEN  GOSUB 311: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "Don't be shy.  Please type": PRINT "PRINT and a word inside": PRINT "quotations.": GOTO 31
  8. 61  GOSUB 521: ON E = 1 GOTO 31: GOSUB 541: ON E = 1 GOTO 31: GOSUB 581: ON E = 1 GOTO 31:LE = SL -(X +1)
  9. 71 VP =  INT( LEN(AN$)/40): VTAB 14 +VP: PRINT  MID$ (AN$,X +1,LE);: GOSUB 311: PRINT "You did very well, ";NA$".": PRINT "Would you like to practice using": PRINT "the PRINT statement again? (Y/N)";
  10. 81 CP = 1: GOSUB 341: IF AN$ = ""  THEN  VTAB 6: HTAB 33: CALL  -958: GOTO 81
  11. 91  IF  ASC(AN$) < >89  AND  ASC(AN$) < >78  THEN  VTAB 6: HTAB 33: CALL  -958: GOTO 81
  12. 101 CP = 0: IF  ASC(AN$) = 89  THEN TT = 15:BT = 24: GOSUB 291: GOSUB 311: HTAB L: VTAB T +1: PRINT "Okay, type PRINT and follow it": PRINT "with a literal quote.": PRINT "(Remember to press RETURN)": GOTO 21
  13. 111 TT = 0:BT = 24: GOSUB 291: GOSUB 231: GOSUB 151: GOSUB 231: GOSUB 151: GOSUB 231: GOSUB 151: GOSUB 231: GOSUB 151: GOSUB 231:ET = 1
  14. 121 TT = 15:BT = 24: GOSUB 291: GOSUB 301: VTAB 16: GOSUB 341:W = 38:B = 10:T = 3:L = 1:X = 1: GOSUB 451: IF E = 1  THEN  GOSUB 311: PRINT "Please type PRUNT and a number.": PRINT "Then press RETURN.  Try again.": GOTO 121
  15. 131 BS = X: IF  MID$ (AN$,X,5) < >"PRUNT"  THEN  GOSUB 311: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "You should type PRUNT 50": PRINT "one time in order to see what": PRINT "an error message looks like.": PRINT "Please try again.": GOTO 121
  16. 141  VTAB 20: PRINT  CHR$(7);: PRINT "?SYNTAX ERROR":TT = 0:BT = 15: GOSUB 291: GOSUB 231: GOSUB 151:TT = 15:BT = 24: GOSUB 291:TT = 0: GOSUB 231: POKE 930,1: GOSUB 151:TT = 0:BT = 24: GOSUB 291: GOSUB 611: PRINT : PRINT  CHR$(4);"RUN PROGRAM": END 
  17. 151  POKE  -16368,0
  18. 161 P =  PEEK( -16384):TE = TE +1: ON P = 155 GOTO 621: ON P < >13 GOTO 171: IF TE <225  THEN 161
  19. 171  IF P = 141  THEN TE = 0: CALL  -998: RETURN 
  20. 181 M$ = "Press RETURN": GOSUB 191: FOR Z = 1 TO 700: NEXT Z:M$ = "_____________": GOSUB 191: FOR Z = 1 TO 700: NEXT Z: GOTO 161
  21. 191  VTAB B: HTAB M +(((W -L) - LEN(M$))/2): PRINT M$;: RETURN 
  22. 201  PRINT  CHR$(4);"OPEN CALLNAME": PRINT  CHR$(4);"READ CALLNAME": INPUT NA$: PRINT  CHR$(4);"CLOSE CALLNAME": RETURN 
  23. 211  POKE 34,T -2: POKE 35,B: POKE 32,L: POKE 33,W +1: HOME : FOR BD = 2 TO W -1: VTAB T -1: HTAB BD: PRINT "_";: VTAB B: HTAB BD: PRINT "_";: NEXT BD: FOR BD = T TO B: VTAB BD: HTAB 1: PRINT "|";: HTAB W: PRINT "|";: NEXT BD
  24. 221  POKE 34,T: POKE 35,B -1: POKE 32,L +2: POKE 33,W -4: HOME : RETURN 
  25. 231  PRINT  CHR$(4);"READ ";F$:S$ = "":A$ = "":NL = 1: INPUT S$: IF S$ = "%"  THEN  GOSUB 291: INPUT T,B,L,W: GOSUB 211: GOTO 261
  26. 241  IF S$ = "&"  THEN  GOSUB 221
  27. 251  FOR H = T +1 TO B -1: VTAB H: HTAB 1: CALL  -868: NEXT H
  28. 261  CALL 813:IN$ =  MID$ (IN$,1): IF IN$ = "^"  THEN 281
  29. 271  VTAB T +NL: HTAB 1:NL = NL +1: PRINT IN$;: GOTO 261
  30. 281  RETURN 
  31. 291  POKE 32,0: POKE 33,40: POKE 34,TT: POKE 35,BT: HOME : RETURN 
  32. 301  POKE 32,0: POKE 33,40: POKE 34,TT: POKE 35,BT: RETURN 
  33. 311 TT = 0:BT = 12: GOSUB 301: IF ET = 1  THEN ET = ET +1: GOSUB 211: GOTO 331
  34. 321  GOSUB 221
  35. 331  HTAB L: VTAB T +1: FOR H = T +1 TO B -1: VTAB H: HTAB 1: CALL  -868: NEXT H: VTAB T +1: RETURN 
  36. 341  PRINT  CHR$(4): POKE  -16368,0:AN$ = "": ON CP = 1 GOTO 361
  37. 351  HTAB 1: PRINT  CHR$(93);
  38. 361 R = 0: CALL 768: FOR J = 512 TO 736:X =  PEEK(J): ON X = 155 GOTO 621: IF X = 141  THEN J = 736: GOTO 411
  39. 371  IF X = 162  THEN R = 1
  40. 381  IF R = 1  THEN 401
  41. 391 AN$ = AN$ + CHR$(X -128 -32 *(X >223)): GOTO 411
  42. 401 AN$ = AN$ + CHR$(X -128)
  43. 411  NEXT J:BU$ = AN$: RETURN 
  44. 421  IF SN = 1  THEN  HTAB 2: PRINT "PRINT "; CHR$(34);"HOT FUDGE SUNDAE"; CHR$(34)
  45. 431  IF SN = 2  THEN  HTAB 1: PRINT "HOT FUDGE SUNDAE"
  46. 441  RETURN 
  47. 451 E = 0
  48. 461  ON  MID$ (AN$,X,1) < >" " GOTO 481: IF X > =  LEN(AN$)  THEN E = 1: RETURN 
  49. 471 X = X +1: GOTO 461
  50. 481  RETURN 
  51. 491 E = 0: IF  MID$ (AN$,X,1) = "?"  THEN X = X +1: RETURN 
  52. 501 E = 0: IF  MID$ (AN$,X,5) = "PRINT"  THEN X = X +5: RETURN 
  53. 511 E = 1:TT = 0:BT = 15: GOSUB 311: HTAB L: VTAB T +1: PRINT "You typed "; MID$ (AN$,BS);".": PRINT "You didn't use PRINT.": PRINT "Please try again.": RETURN 
  54. 521 E = 0: IF  MID$ (AN$,X,1) =  CHR$(34)  THEN  RETURN 
  55. 531 E = 1: GOSUB 311: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "You forgot to use a quotation": PRINT "mark (" CHR$(34)") after the PRINT": PRINT "statement.  Please try again.": RETURN 
  56. 541 E = 0:SL = X +1
  57. 551  ON SL > LEN(AN$) GOTO 571: IF  MID$ (AN$,SL,1) < > CHR$(34)  THEN SL = SL +1: GOTO 551
  58. 561  IF  MID$ (AN$,SL,1) =  CHR$(34)  THEN  RETURN 
  59. 571 E = 1: GOSUB 311: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "Although it's not required, we'd": PRINT "like you to end your statement": PRINT "with a second "; CHR$(34);" mark. Try again.": RETURN 
  60. 581 E = 0: IF SL > = X +2  THEN  RETURN 
  61. 591 E = 1: GOSUB 311: PRINT "You typed "; MID$ (BU$,BS);".": PRINT "It would help for now if you": PRINT "would enclose something inside": PRINT "the quotations.  Try again.": RETURN 
  62. 601  PRINT : PRINT  CHR$(4);"OPEN ";F$: RETURN 
  63. 611  PRINT : PRINT  CHR$(4);"CLOSE ";F$: RETURN 
  64. 621  POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24: GOSUB 611: PRINT : PRINT  CHR$(4);"RUN MENU"
  65. 631  RESUME